home *** CD-ROM | disk | FTP | other *** search
- © HAAGE & PARTNER Computer GmbH
-
- Mainzer Straße 10A
- D-61191 Rosbach.
- Germany
-
- Tel: ++49 60 07 / 93 00 50
- Fax: ++49 60 07 / 75 43
-
- Compuserve: 100654,3133
- Internet: 100654.3133@compuserve.com
- Homepage: http://ourworld.compuserve.com/homepages/haage_partner
-
- First of all we want to thank you for purchasing StormC. So you told
- us that we did the right thing by developing StormC.
-
- These are the changes in comparison to Version 1.1:
- ======================================================================
-
- StormShell
- - Expandet optiondialog
- - GoldED 4.0 is includet in the package
-
- Project Manager
- - Make of hierarchical projects
- - Own ARexx-Makescripts
- - New project section for StormLibrarian
-
- StormEd
- - bracket-check
- - block indent
- - new colour controls
- - new project template
-
- StormRun
- - Stack and CPU register window
- - Disassembler
- - Profiler
-
- StormC
- - new optimisation levels
- - new keyword "__interrupt"
-
- StormLibrarian
- - simple creation of linker libraries
- - Sort function
-
- Tools
- - FD2Pragma
-
-
- Editor Key Map:
- ************************
-
- Shift-Cursor Up/Down
- Moves the cursor to the first/last line displayed in the window.
-
- Shift-Cursor Left/Right
- Moves the cursor to the first/last column of the current line.
-
- Alt-Cursor Up/Down
- Jumps to the start/end of the text.
-
- Alt-Cursor Left/Right
- Moves the cursor to the next word in front of or behind the cursor.
-
- Shift-Delete oder Shift-Backspace
- Deletes the line the cursor stands. It is stored in the clipboard.
-
- Alt-Delete
- Deletes the line starting form the position of the cursor to the end.
-
- Alt-Backspace
- Deletes the text from the start to the cursor position.
-
- Help
- Opens the Online Help and displays an explanation to the word under the cursor.
- The word must be an ANSI-C or C++ standard function.
-
-
- Advices to PhxAssembler
- ************************
-
- As a bonus the freeware assembler FreePhxAss is delivered with
- StormC. It is mainly for useful for developers of PD compilers which
- use it for translation of their compiler output. The function size
- is *very* limited: There are no macros, no includes, no conditioned
- assembling. Many directives are also not available.
-
- FreePhxAss can be used freely, but the name of the Author should
- be mentioned in the project.
-
- If you are interested in PhxAss, there is a registered version that
- is available at a low price.
-
- Please contact
-
- SMail: Frank Wille
- Auf dem Dreische 45
- 32049 Herford
- Germany
-
- EMail: frank@phoenix.owl.de
-
-
- Some Frequently asked Questions and Answers !
- *****************************************
- Q 1:
- ********
-
- Why has StormC no Global Optimiser" ?
-
- Answer:
- The compiler of StormC offers already a good optimisations. Some of
- the used techniques are also part of a global optimiser. Especially
- the optimised organisation of the global CPU and FPU registers is such
- a one.
-
- StormC is already prepared to do more of the global optimisations in
- further versions. They can be implemented step by step. But as said
- before the optimisation of StormC and StormLINK.
-
- Q 2:
- ********
-
- Why does a small "Hello World" gets so long (some Kbytes) ?
-
- Answer:
- "Storm.lib" is a highly compatible ANSI C library that offers buffered I/O.
-
- The program "Hello World" uses "printf" of the "Storm.lib", but it
- does not differ between the output of integer or floating point, so
- there are unused parts of the library in your code that makes small
- programs relatively large.
-
- If only ANSI C is used the library "StormAmiga.lib" can be used. This
- is a highly optimised assembler library that generates very small and
- fast programs. It only supports "far code" and "far data" model.
-
- Q 3:
- ********
-
- How can I get a short "Hello World" using Storm.Lib ?
-
- Answer:
- If floating point is needed and buffered I/O of AmigaDOS is enough
- AmigaDOS functions can be used for this. "Vprintf" and "VFPrintf"
- will directly output to AmigaDOS files, just like "printf". But these
- functions are not 100% ANSI compatible.
-
- Another possibility is to resign on automatically open and close of
- libraries and its comfortable error handling which differs between
- Workbench and CLI start while paying attention to OS 1.3 and older.
- This comfort is not necessary for all programs.
-
- So a minimal startup code, written in assembler can be used, that only
- does the essential jobs, e.g. only supporting the small data model,
- not supporting resident programs ...
-
- Q 4:
- ********
-
- Why is the library "storm.lib" such a big one and why is there
- only a single one (in contrast to SAS/C) ?
-
- Answer:
- StormC support a further developed object format that is used for
- linker libraries as well. It is 100% compatible to the old one. Its
- advantage is that the Linker and the Compiler of StormC can accommodate
- more data models in one object file. So the programmer must not decide
- which is the right library that fits the used data model (far data,
- near data(a4), near data(a6)). This caused many errors. Now the linker
- takes the needed parts out of "Storm.lib". For these reasons "Storm.lib"
- is nearly as big as these three libraries of SAS/C.
-
- In the future StormC will support even more code modells and CPU and
- FPU models, so "Storm.lib" will allow the optimised program generation
- automatically.
-
- Q 5:
- ********
-
- Why does the linker displays the error message "Symbol _exit
- not defined", when linking as Shared Library ?
-
- Answer:
- The Shared Library calls the ANSI function exit(). This can be done
- directly by the programmer or indirectly by the linker library which
- uses this function. "Storm.lib" uses this function to automatically
- open the used Shared Library, e.g. the "utility.library".
-
- Basically a Shared Library is not allowed to use exit(), cause it
- can not be finished simply.
-
- How to avoid this call ?
-
- You should not use the automatic opening of used Shared Libraries.
- Instead you must open and close the library as it is described in
- the manual.
-
- To get a list of all used libraries you should include
-
- void exit() {}
-
- into the Shared Library. Now you can link it.
-
- You should use the linker option "Write Map File". The linker will
- generate a file with the extension ".map". Now watch all INIT
- functions which contain the basis name of the Shared Library, e.g.
- INIT_1_UtilityBase.
-
- Now open all these libraries with your own routines. Pay attention
- to declare the corresponding basis variable (e.g. UtilityBase). Do not
- forget to remove your own exit() function from the source.
-
- (c) HAAGE & PARTNER Computer GmbH - We develop to PowerUp the AMIGA
-
-